package common

import "github.com/gin-gonic/gin"

func Params(ctx *gin.Context, params ...string) map[string]interface{} {
	// 创建一个 map 用于存储参数值
	paramValues := make(map[string]interface{})

	for _, param := range params {
		// 声明一个临时变量
		var tempValue interface{}
		// 尝试将请求的 JSON 数据绑定到临时变量上
		if err := ctx.ShouldBindJSON(&tempValue); err != nil {
			// 如果绑定失败，中止当前请求的执行
			ctx.Abort()
			return nil
		}
		// 将临时变量的值赋给 map 的对应键
		paramValues[param] = tempValue
	}

	// 返回存储参数值的 map
	return paramValues
}
